package com.zhentao.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhentao.pojo.WorkflowTask;

import java.util.List;

/**
 * 流程任务Service接口
 */
public interface WorkflowTaskService extends IService<WorkflowTask> {
    
    /**
     * 根据处理人ID查询待办任务
     */
    List<WorkflowTask> getTodoTasksByAssignee(Long assigneeId);
    
    /**
     * 根据处理人ID查询已办任务
     */
    List<WorkflowTask> getDoneTasksByAssignee(Long assigneeId);
    
    /**
     * 根据单据信息查询任务
     */
    List<WorkflowTask> getTasksByBill(String billType, Long billId);
    
    /**
     * 启动工作流
     */
    boolean startWorkflow(Long processId, String billType, Long billId, Long assigneeId);
    
    /**
     * 审批任务
     */
    boolean approveTask(Long taskId, Long userId, String action, String remark);
    
    /**
     * 撤回任务
     */
    boolean revokeTask(Long taskId, Long userId, String remark);
} 